<?php
/**
 * Dependency service adapter interface
 *
 * PHP version 5
 *
 * @category  W
 * @package   Interfaces
 * @author    Olivier Hoareau <olivier@phppro.fr>
 * @copyright 2009 PHPPRO http://www.phppro.fr
 * @license   http://dev.phppro.fr/license PHPPRO
 * @version   SVN: $Id:$
 * @link      http://dev.phppro.fr/projects/wdependency
 */
require_once 'W/Dependency/Plugin/Interface.php';
require_once 'W/Dependency/Parser/Interface.php';
/**
 * Dependency service adapter interface
 *
 * @category  W
 * @package   Interfaces
 * @author    Olivier Hoareau <olivier@phppro.fr>
 * @copyright 2009 PHPPRO http://www.phppro.fr
 * @license   http://dev.phppro.fr/license PHPPRO
 * @version   SVN: $Id$
 * @link      http://dev.phppro.fr/projects/wdependency
 */
interface W_Dependency_Adapter_Interface
{
    public function getPluginService();
    public function setPluginService(W_Dependency_Plugin_Interface $pluginService);
    public function getParserService();
    public function setParserService(W_Dependency_Parser_Interface $parserService);
    public function addPlugin($plugin,$data,$type,$defaultPackage=null);
    public function fireEvent($eventType,$eventData=null);
    public function parseFile($data);
    public function getCollectedPluginsData();
    public function executePlugins($type,$data,$merge=true);
}
